package narrativas;

import narrativas.NarrativaBase;
import java.util.Scanner;

public class NarrativaDeserto extends NarrativaBase {

    public void Deserto() {
        getLocal().saida("deserto");
        boolean flag;
        System.out.println("#########################################################################################################");
        System.out.println("Você escolhe ir pelo deserto, na entrada do deserto, encontra um poço de água. Deseja abastecer seu cantil extra? SIM - NAO");
        System.out.println("#########################################################################################################");
        Scanner tec = new Scanner(System.in);
        setComando(tec.next());
        if (getComando().equalsIgnoreCase("sim")) {
            flag = false;
            getMensageiro().pegaAguaExtra(getRecursos());
        } else if (getComando().equalsIgnoreCase("nao")) {
            flag = false;
            getRecursos().setCantilExtra(false);
        } else {
            flag = true;
        }

        while (flag == true) {
            System.out.println("Erro: Somente digite SIM ou NAO.");
            System.out.println("#########################################################################################################");
            System.out.println("Você escolhe ir pelo deserto, na entrada do deserto, encontra um poço de água. Deseja abastecer seu cantil extra? SIM - NAO");
            System.out.println("#########################################################################################################");
            setComando(tec.next());
            if (getComando().equalsIgnoreCase("sim")) {
                flag = false;
                getMensageiro().pegaAguaExtra(getRecursos());
            } else if (getComando().equalsIgnoreCase("nao")) {
                flag = false;
                getRecursos().setCantilExtra(false);
            } else {
                flag = true;
            }
        }
            System.out.println("********************************************************************************************************");
            System.out.println("Com mais um pouco de caminhada, encontra outro poço d'água. Deseja abastecer seu cantil extra? SIM - NAO");
            System.out.println("********************************************************************************************************");
            setComando(tec.next());
            if (getComando().equalsIgnoreCase("sim")) {
                flag = false;
                if (getRecursos().getCantilExtra() == true) {
                    System.out.println("Seu cantil está cheio.");
                } else {
                    getRecursos().setCantilExtra(true);
                }
            } else if (getComando().equalsIgnoreCase("nao")) {
                flag = false;
                getRecursos().setCantilExtra(false);
   
            } else {
                flag = true;
            }
            while (flag == true) {
            System.out.println("Erro: Somente digite SIM ou NAO.");
            System.out.println("********************************************************************************************************");
            System.out.println("Com mais um pouco de caminhada, encontra outro poço d'água. Deseja abastecer seu cantil extra? SIM - NAO");
            System.out.println("********************************************************************************************************");
            setComando(tec.next());
            if (getComando().equalsIgnoreCase("sim")) {
                flag = false;
                if (getRecursos().getCantilExtra() == true) {
                    System.out.println("Seu cantil está cheio.");
                } else {
                    getRecursos().setCantilExtra(true);
                }
            } else if (getComando().equalsIgnoreCase("nao")) {
                flag = false;
                if (getRecursos().getCantilExtra() == true) {
                } else {
                    getRecursos().setCantilExtra(false);
                }
            } else {
                flag = true;
            }
             }
    }

    public boolean Meio_Deserto() {
        System.out.println("########################################################################################################");
        System.out.println("Você entra em um deserto árduo e quente, na metade do caminho você fica com muita \n "
                + "sede e necessita de água.");
        System.out.println("********************************************************************************************************");
        getMensageiro().tomaAgua(getRecursos());
        System.out.println("Você toma a água do seu cantil.");
        System.out.println("********************************************************************************************************");
        System.out.println("Mais a frente, você fica com mais sede e necessita de mais água. ");
        getDesafios().atravessarDeserto(getMensageiro(), getRecursos());
        if (getMensageiro().isMorto() == true) {
            return false;
        } else {
            return true;
        }
    }

    public void Final_Deserto_Morte() {
        System.out.println("********************************************************************************************************");
        System.out.println("Infelizmente você não tem mais água. Você bravamente tentou atravessar o deserto,\n"
                + "porém a sede foi mais forte e você acabou morrendo. Fim de jogo.");
        System.out.println("********************************************************************************************************");
    }

    public void Final_Deserto() {
        System.out.println("********************************************************************************************************");
        System.out.println("Felizmente você pegou mais água antes de entrar no deserto. Com o cantil extra você\n"
                + "conseguiu atravessar o deserto, no entanto a viagem não foi fácil.");
        System.out.println("********************************************************************************************************");
    }

}